package com.daqian.chance.example.admin.modules.system.controller;

import com.daqian.chance.common.base.BaseController;
import com.daqian.chance.core.rest.RestResult;
import com.daqian.chance.example.admin.modules.system.po.dto.SysRoleDTO;
import com.daqian.chance.example.admin.modules.system.service.ISysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 系统-角色 前端控制器
 * </p>
 *
 * @author daqian
 * @since 2019-08-08
 */
@RestController
@RequestMapping("/sysRole")
public class SysRoleController extends BaseController {

    @Autowired
    private ISysRoleService iSysRoleService;


    /**
     * 分页查询 系统-角色
     *
     * @author daqian
     */
    @GetMapping("page")
    public RestResult page(SysRoleDTO sysRoleDTO) {
        return RestResult.ok(iSysRoleService.page(sysRoleDTO));
    }

    /**
     * 根据id查询 系统-角色
     *
     * @author daqian
     */
    @GetMapping("info/{sysRoleId}")
    public RestResult info(@PathVariable("sysRoleId") Long sysRoleId) {
        return RestResult.ok(iSysRoleService.getById(sysRoleId));
    }

    /**
     * 保存 系统-角色
     *
     * @author daqian
     */
    @PostMapping("save")
    public RestResult save(@RequestBody SysRoleDTO sysRoleDTO) {
        iSysRoleService.save(sysRoleDTO.convertToEntity());
        return RestResult.ok();
    }

    /**
     * 更新 系统-角色
     *
     * @author daqian
     */
    @PostMapping("update/{sysRoleId}")
    public RestResult remove(@PathVariable("sysRoleId") Long sysRoleId, @RequestBody SysRoleDTO sysRoleDTO) {
        iSysRoleService.updateById(sysRoleDTO.convertToEntity().setId(sysRoleId));
        return RestResult.ok();
    }

    /**
     * 根据id删除 系统-角色
     *
     * @author daqian
     */
    @DeleteMapping("{sysRoleId}")
    public RestResult delete(@PathVariable("sysRoleId") Long sysRoleId) {
        iSysRoleService.removeById(sysRoleId);
        return RestResult.ok();
    }

}
